﻿using System;
// 这是参数传递的默认方式。在这种方式下，当调用一个方法时，会为每个值参数创建一个新的存储位置。
//实际参数的值会复制给形参，实参和形参使用的是两个不同内存中的值。所以，当形参的值发生改变时，不会影响实参的值，从而保证了实参数据的安全。
namespace CalculatorApplication
{
    class NumberManipulator
    {
        public void Swap(int x, int y)
        {
            int temp;

            temp = x; /* 保存 x 的值 */
            x = y; /* 把 y 赋值给 x */
            y = temp; /* 把 temp 赋值给 y */
        }

        static void Main(string[] args)
        {
            NumberManipulator n = new NumberManipulator();
            /* 局部变量定义 */
            int a = 100;
            int b = 200;

            Console.WriteLine("在交换之前，a 的值：{0}", a);
            Console.WriteLine("在交换之前，b 的值：{0}", b);

            /* 调用函数来交换值 */
            n.Swap(a, b);

            Console.WriteLine("在交换之后，a 的值：{0}", a);
            Console.WriteLine("在交换之后，b 的值：{0}", b);

            Console.ReadLine();
        }
    }
}